//https://www.luogu.com.cn/problem/P1024
//AC

// 编程语言 C++17 O2
// 代码长度 1.28KB
// 用时 8ms
// 内存 636.00KB
#include<array>
#include<iostream>
#include<iomanip>
#include<cmath>
using std::array;

struct equation{
	double a,b,c,d;
	double operator()(double x)const{
		double res=a;
		res=res*x +b;
		res=res*x+c;
		res=res*x+d;
		return res;
	}
};
//四个参数分别记为a,b,c,d,那么有 ax^3+bx^2+cx+d==0
//（根的范围在 -100 至 100 之间）且根与根之差的绝对值>=1
//并精确到小数点后 2 位
array<double,3> solve(const equation& eq, double limitation=0.001){
	array<double,3> res;
	int respos=0;
	const auto decide_detail=[&eq,limitation](double from,double to){
		if(eq(from)==0){return from;}
		if(eq(to)==0){return to;}
		double mid;
		while(to-from>limitation){
			mid=(from+to)/2;
			double emid=eq(mid);
			if(emid==0){return mid;}
			double efrom=eq(from);
			double eto=eq(to);
			if(efrom*emid<0){
				to=mid;
			}
			else{
				from=mid;
			}
		}
		return mid;
	};
	double last =eq(-100);
	for(double i=-99;i<101;i+=0.8){
		double here=eq(i);
		if(here*last>0){
			last=here;continue;
		}
		double detail=decide_detail(i-1,i);
		res[respos++]=detail;
		last=here;
	}
	return res;
}

//盛金公式解三次方程
//    一元三次方程:aX的三次方+bX的二次方+cX+d=0
//    重根判别公式：
//        A=b的二次方-3ac
//        B=bc-9ad
//        C=c的二次方-3bd
//    当A=B=0时，X1=X2=X3= -b/3a= -c/b = -3d/c
array<double, 3> solve_ShengJin(const equation& eq, double limitation = 0.001) {
	const double &a=eq.a,&b=eq.b,&c=eq.c,&d=eq.d;
	array<double, 3> res;
	double as = b * b - 3 * a * c;
	double bs = b * c - 9 * a * d;
	double t = (2 * as * b - 3 * a * bs) / (2 * sqrt(as * as * as));
	double si = acos(t);
	res[0] = (-b - 2 * sqrt(as) * cos(si / 3)) / (3 * a);
	res[1] = (-b + sqrt(as) * (cos(si / 3) + sqrt(3) * sin(si / 3))) / (3 * a);
	res[2] = (-b + sqrt(as) * (cos(si / 3) - sqrt(3) * sin(si / 3))) / (3 * a);
	return res;
}
int main(){
	using namespace std;
	double a,b,c,d;
	cin>>a>>b>>c>>d;
	equation eq{a,b,c,d};
	auto res=solve(eq);
	cout<<fixed<<setprecision(2)<<res[0]<<' '<<res[1]<<' '<<res[2];
	return 0;
}